package com.google.code.chaotic.rpc;

import java.util.List;

import com.google.code.chaotic.dto.CommuterDto;
import com.google.code.chaotic.dto.LatLonDto;
import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * @uml.dependency   supplier="com.google.code.chaotic.rpc.CommuterSvc"
 */
public interface CommuterSvcAsync {

	void createCommuter(String sessionId, CommuterDto dto,
			AsyncCallback<String> callback);

	void updateCommuter(String sessionId, CommuterDto dto, boolean updatePass,
			AsyncCallback<Void> callback);

	void deleteCommuter(String sessionId, String id,
			AsyncCallback<Void> callback);

	void listCommuters(String sessionId,
			AsyncCallback<List<CommuterDto>> callback);

	void listAllHabitOrigins(String sessionId,
			AsyncCallback<List<LatLonDto>> callback);

	void listAllHabitDestinations(String sessionId,
			AsyncCallback<List<LatLonDto>> callback);

}
